from core.basic.skill import 技能
from core.basic.character import Character
from core.basic.skill import 主动技能, 被动技能


class 技能0(主动技能):
    名称 = "连续射击"
    所在等级 = 15
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 6
    MP = [40, 292]
    无色消耗 = 0
    data0 = [0, 1150, 1269, 1385, 1502, 1621, 1736, 1853, 1969, 2088, 2204, 2319, 2437, 2554, 2670, 2788, 2905, 3022, 3138, 3256, 3372, 3490, 3607, 3723, 3838, 3956, 4073, 4190, 4307, 4425, 4541, 4658, 4775, 4892, 5008,
             5125, 5242, 5360, 5475, 5593, 5710, 5827, 5943, 6062, 6177, 6293, 6410, 6528, 6644, 6762, 6879, 6995, 7111, 7230, 7347, 7463, 7582, 7696, 7813, 7929, 8048, 8164, 8281, 8399, 8515, 8631, 8750, 8866, 8982, 9097, 9216]
    hit0 = 2
    data1 = [0, 1535, 1690, 1848, 2003, 2158, 2314, 2470, 2626, 2781, 2939, 3094, 3249, 3405, 3561, 3717, 3872, 4027, 4186, 4342, 4497, 4653, 4809, 4964, 5119, 5277, 5432, 5588, 5743, 5900, 6056, 6210, 6367, 6523, 6679, 6834,
             6990, 7146, 7301, 7458, 7613, 7771, 7925, 8081, 8237, 8392, 8548, 8704, 8859, 9016, 9172, 9328, 9484, 9638, 9795, 9950, 10106, 10262, 10419, 10574, 10729, 10886, 11041, 11198, 11352, 11510, 11665, 11820, 11976, 12132, 12289]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 7


class 技能1(主动技能):
    名称 = "迅步突袭"
    所在等级 = 15
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    # 二觉被动缩减1秒
    CD = 5
    MP = [12, 500]
    无色消耗 = 0
    data0 = [0, 3630, 3999, 4367, 4735, 5103, 5472, 5840, 6208, 6577, 6945, 7312, 7682, 8049, 8418, 8786, 9155, 9522, 9892, 10259, 10627, 10997, 11364, 11733, 12101, 12470, 12837, 13207, 13574, 13942, 14311, 14679, 15047, 15416, 15784, 16152, 16520,
             16889, 17256, 17626, 17994, 18362, 18731, 19099, 19467, 19835, 20204, 20571, 20941, 21308, 21677, 22045, 22414, 22781, 23150, 23518, 23886, 24255, 24623, 24993, 25360, 25729, 26096, 26465, 26833, 27201, 27570, 27938, 28307, 28675, 29042]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 7


class 技能2(被动技能):
    名称 = '特工秘技'
    所在等级 = 15
    等级上限 = 20
    基础等级 = 10
    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.1 + 0.02 * self.等级, 5)


class 技能3(主动技能):
    名称 = "双弦斩"
    所在等级 = 20
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 6
    MP = [40, 292]
    无色消耗 = 0
    data0 = [0, 1520, 1674, 1827, 1982, 2136, 2289, 2444, 2601, 2752, 2908, 3062, 3218, 3370, 3525, 3680, 3833, 3987, 4143, 4296, 4450, 4604, 4758, 4912, 5066, 5222, 5375, 5530, 5683, 5837, 5993, 6147, 6300, 6455, 6609, 6762,
             6917, 7072, 7226, 7379, 7534, 7688, 7843, 7997, 8151, 8305, 8459, 8613, 8768, 8922, 9077, 9229, 9384, 9540, 9692, 9847, 10002, 10157, 10310, 10465, 10620, 10773, 10927, 11082, 11235, 11391, 11544, 11698, 11853, 12006, 12160]
    hit0 = 1
    data1 = [0, 2279, 2510, 2742, 2974, 3204, 3436, 3667, 3899, 4129, 4361, 4593, 4824, 5055, 5287, 5518, 5751, 5981, 6213, 6445, 6676, 6908, 7137, 7369, 7601, 7832, 8063, 8294, 8526, 8758, 8988, 9219, 9450, 9682, 9913, 10144, 10376, 10607,
             10838, 11070, 11301, 11534, 11763, 11995, 12227, 12458, 12689, 12920, 13153, 13385, 13616, 13847, 14078, 14309, 14541, 14771, 15003, 15234, 15466, 15697, 15928, 16160, 16391, 16621, 16853, 17084, 17316, 17546, 17778, 18010, 18241]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 7


class 技能4(被动技能):
    名称 = '小太刀精通'
    所在等级 = 20
    等级上限 = 20
    基础等级 = 10

    def 物理攻击力倍率(self, 武器类型):
        if self.等级 <= 10:
            return round(1.040 + 0.01 * self.等级, 5)
        if self.等级 > 10:
            return round(1.150 + 0.02 * (self.等级 - 10), 5)


class 技能5(主动技能):
    名称 = "月光挥斩"
    所在等级 = 25
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 7
    MP = [15, 300]
    无色消耗 = 0
    data0 = [0, 2628, 2894, 3161, 3427, 3696, 3962, 4229, 4495, 4762, 5028, 5295, 5562, 5828, 6095, 6361, 6629, 6895, 7162, 7428, 7696, 7962, 8229, 8495, 8761, 9028, 9294, 9563, 9829, 10096, 10362, 10629, 10895, 11162, 11429, 11695, 11962,
             12229, 12496, 12762, 13029, 13295, 13563, 13829, 14095, 14362, 14628, 14896, 15162, 15430, 15696, 15963, 16229, 16496, 16762, 17028, 17296, 17562, 17830, 18096, 18363, 18629, 18896, 19163, 19430, 19696, 19962, 20229, 20495, 20763, 21029]
    hit0 = 2
    TP成长 = 0.1
    TP上限 = 7


class 技能6(主动技能):
    名称 = "精准射击"
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 8
    MP = [30, 500]
    无色消耗 = 0
    data0 = [0, 7632, 8405, 9180, 9955, 10729, 11504, 12278, 13052, 13825, 14600, 15375, 16149, 16924, 17697, 18472, 19247, 20020, 20795, 21568, 22343, 23118, 23892, 24667, 25441, 26215, 26989, 27763, 28538, 29312, 30087, 30860, 31635, 32410, 33183, 33958,
             34731, 35506, 36281, 37055, 37830, 38604, 39378, 40152, 40926, 41701, 42475, 43250, 44024, 44798, 45573, 46346, 47121, 47894, 48669, 49444, 50218, 50993, 51768, 52541, 53315, 54089, 54864, 55638, 56413, 57187, 57961, 58736, 59509, 60284, 61058]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 7


class 技能7(主动技能):
    名称 = "满月斩"
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 15
    MP = [100, 850]
    无色消耗 = 1
    data0 = [0, 1621, 1786, 1950, 2114, 2280, 2444, 2609, 2774, 2938, 3102, 3267, 3431, 3596, 3761, 3925, 4089, 4254, 4418, 4582, 4748, 4912, 5077, 5241, 5405, 5570, 5734, 5899, 6064, 6228, 6392, 6557, 6721, 6886, 7051, 7215, 7380,
             7544, 7708, 7874, 8039, 8203, 8368, 8532, 8696, 8861, 9026, 9190, 9355, 9519, 9683, 9848, 10012, 10178, 10342, 10506, 10671, 10835, 10999, 11164, 11329, 11493, 11658, 11822, 11986, 12151, 12316, 12480, 12645, 12809, 12973]
    hit0 = 3
    data1 = [0, 5946, 6550, 7152, 7756, 8359, 8963, 9567, 10169, 10773, 11376, 11980, 12582, 13186, 13788, 14392, 14995, 15598, 16202, 16805, 17409, 18011, 18615, 19218, 19822, 20425, 21028, 21632, 22235, 22839, 23441, 24045, 24648, 25252, 25855, 26458,
             27062, 27665, 28269, 28871, 29475, 30077, 30681, 31284, 31887, 32491, 33094, 33697, 34300, 34904, 35507, 36111, 36714, 37317, 37921, 38524, 39127, 39730, 40334, 40937, 41541, 42144, 42747, 43351, 43954, 44557, 45159, 45764, 46366, 46970, 47573]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 5


class 技能8(主动技能):
    名称 = "月影秘步"
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 20
    MP = [60, 850]
    无色消耗 = 1
    data0 = [0, 1012, 1113, 1216, 1320, 1421, 1524, 1628, 1729, 1832, 1935, 2038, 2139, 2243, 2346, 2447, 2551, 2654, 2756, 2859, 2961, 3064, 3165, 3269, 3372, 3473, 3577, 3680, 3782, 3885, 3987, 4090, 4194, 4295, 4398,
             4501, 4603, 4706, 4809, 4911, 5013, 5117, 5220, 5321, 5425, 5527, 5629, 5733, 5835, 5938, 6040, 6143, 6246, 6348, 6451, 6553, 6657, 6759, 6861, 6964, 7066, 7169, 7272, 7374, 7477, 7579, 7683, 7785, 7887, 7991, 8092]
    hit0 = 18
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.27
        self.CDR *= 0.85


class 技能9(主动技能):
    名称 = "锁定射击"
    所在等级 = 40
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 20
    MP = [150, 1260]
    无色消耗 = 1
    data0 = [0, 1733, 1909, 2086, 2261, 2437, 2613, 2788, 2965, 3140, 3316, 3493, 3668, 3844, 4020, 4195, 4372, 4548, 4724, 4899, 5076, 5251, 5426, 5604, 5779, 5955, 6131, 6306, 6482, 6659, 6835, 7010, 7187, 7362, 7537, 7714, 7890,
             8066, 8242, 8418, 8593, 8769, 8946, 9121, 9298, 9473, 9648, 9825, 10000, 10177, 10353, 10529, 10704, 10880, 11056, 11231, 11409, 11584, 11759, 11936, 12111, 12287, 12464, 12640, 12815, 12990, 13167, 13342, 13519, 13695, 13871]
    hit0 = 12
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.14


class 技能10(主动技能):
    名称 = "枪刃旋杀"
    所在等级 = 45
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 45
    MP = [250, 2500]
    无色消耗 = 2
    data0 = [0, 1603, 1765, 1929, 2091, 2254, 2415, 2579, 2742, 2903, 3067, 3230, 3392, 3554, 3718, 3880, 4043, 4205, 4368, 4531, 4694, 4856, 5019, 5181, 5345, 5506, 5669, 5833, 5995, 6157, 6320, 6483, 6646, 6807, 6971, 7134, 7296,
             7458, 7622, 7784, 7947, 8110, 8272, 8435, 8598, 8760, 8923, 9085, 9249, 9411, 9573, 9737, 9898, 10061, 10224, 10387, 10549, 10712, 10875, 11038, 11199, 11363, 11526, 11688, 11850, 12014, 12176, 12339, 12502, 12664, 12827]
    hit0 = 1
    data1 = [0, 1374, 1514, 1654, 1791, 1931, 2071, 2210, 2350, 2490, 2628, 2768, 2908, 3047, 3187, 3327, 3464, 3604, 3744, 3883, 4023, 4162, 4301, 4441, 4581, 4721, 4860, 4999, 5139, 5277, 5417, 5557, 5696, 5835, 5975, 6114,
             6254, 6394, 6532, 6672, 6812, 6951, 7090, 7230, 7368, 7508, 7648, 7788, 7927, 8066, 8206, 8345, 8485, 8625, 8764, 8902, 9042, 9181, 9321, 9461, 9600, 9739, 9879, 10018, 10158, 10298, 10436, 10575, 10715, 10855, 10994]
    hit1 = 17
    data2 = [0, 7070, 7788, 8505, 9223, 9941, 10658, 11375, 12092, 12810, 13527, 14245, 14962, 15679, 16397, 17114, 17831, 18548, 19265, 19982, 20702, 21419, 22136, 22853, 23571, 24288, 25005, 25722, 26439, 27156, 27875, 28592, 29309, 30026, 30743, 31462,
             32179, 32896, 33613, 34332, 35049, 35766, 36483, 37200, 37917, 38635, 39352, 40069, 40786, 41505, 42223, 42940, 43657, 44374, 45092, 45809, 46526, 47243, 47961, 48679, 49396, 50113, 50830, 51547, 52264, 52983, 53700, 54418, 55135, 55853, 56570]
    hit2 = 2
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.power1 = 2.07
        self.hit2 = 0


class 技能11(被动技能):
    名称 = '使命觉悟'
    所在等级 = 48
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.025 + 0.02 * self.等级, 5)


class 技能12(主动技能):
    名称 = "噬血绝杀"
    所在等级 = 50
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 145
    MP = [881, 7403]
    无色消耗 = 5
    data0 = [0, 37959, 46762, 55565, 64367, 73169, 81971, 90774, 99577, 108378, 117181, 125983, 134786, 143587, 152390, 161194, 169996, 178798, 187600, 196403, 205205, 214007, 222810, 231612, 240415, 249216,
             258019, 266821, 275623, 284426, 293228, 302031, 310832, 319636, 328438, 337241, 346043, 354845, 363648, 372450, 381252, 390054, 398857, 407660, 416461, 425264, 434066, 442868, 451670, 460474, 469277]
    hit0 = 2

    def 等效百分比(self, **argv):
        if self.等级 >= 9:
            return super().等效百分比(**argv) * 1.1
        return super().等效百分比(**argv)


class 技能13(主动技能):
    名称 = "终极锁定"
    所在等级 = 60
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 30
    MP = [400, 1620]
    无色消耗 = 1
    data0 = [0, 7439, 8193, 8948, 9702, 10457, 11211, 11966, 12721, 13476, 14230, 14985, 15739, 16494, 17248, 18003, 18757, 19512, 20266, 21021, 21775, 22530, 23284, 24039, 24793, 25548,
             26303, 27058, 27812, 28567, 29321, 30076, 30831, 31585, 32341, 33095, 33850, 34604, 35359, 36113, 36868, 37622, 38378, 39132, 39887, 40641, 41395, 42149, 42904, 43658, 44413]
    hit0 = 4
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.hit0 = 4.6
        self.倍率 *= 1.16
        self.CDR *= 0.90


class 技能14(主动技能):
    名称 = "月相轮舞"
    所在等级 = 70
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 50
    MP = [800, 1680]
    无色消耗 = 2
    data0 = [0, 6857, 7553, 8249, 8945, 9640, 10336, 11031, 11727, 12422, 13118, 13813, 14509, 15205, 15901, 16596, 17292, 17987, 18684, 19379, 20075, 20770, 21467, 22162, 22858, 23553,
             24249, 24945, 25641, 26336, 27032, 27727, 28424, 29119, 29815, 30510, 31206, 31902, 32598, 33293, 33989, 34685, 35381, 36076, 36772, 37467, 38164, 38859, 39555, 40250, 40946]
    hit0 = 2
    data1 = [0, 7752, 8540, 9327, 10112, 10899, 11687, 12472, 13259, 14045, 14833, 15619, 16405, 17192, 17978, 18765, 19552, 20337, 21125, 21912, 22698, 23484, 24271, 25058, 25844,
             26630, 27418, 28203, 28990, 29777, 30564, 31350, 32137, 32923, 33710, 34496, 35283, 36070, 36856, 37643, 38430, 39215, 40003, 40789, 41575, 42362, 43149, 43936, 44722, 45508, 46296]
    hit1 = 2
    data2 = [0, 9691, 10674, 11658, 12641, 13623, 14607, 15590, 16573, 17557, 18539, 19523, 20507, 21490, 22474, 23456, 24440, 25423, 26406, 27390, 28373, 29355, 30339, 31322, 32306,
             33289, 34271, 35255, 36238, 37222, 38205, 39187, 40171, 41154, 42137, 43121, 44104, 45087, 46070, 47053, 48037, 49020, 50002, 50986, 51969, 52953, 53936, 54919, 55902, 56885, 57870]
    hit2 = 2
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.28
        self.CDR *= 0.90


class 技能15(主动技能):
    名称 = "月光镇魂曲"
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 40
    MP = [580, 4500]
    无色消耗 = 3
    data0 = [0, 6179, 6807, 7433, 8061, 8687, 9315, 9941, 10569, 11197, 11822, 12449, 13076, 13704, 14330, 14958, 15584, 16212, 16838, 17466, 18092, 18720, 19347, 19973, 20600, 21227,
             21854, 22481, 23108, 23735, 24362, 24989, 25616, 26243, 26870, 27498, 28124, 28751, 29377, 30005, 30631, 31259, 31885, 32513, 33139, 33767, 34395, 35021, 35649, 36275, 36903]
    hit0 = 9
    data1 = [0, 23836, 26256, 28674, 31092, 33511, 35929, 38347, 40765, 43184, 45603, 48021, 50440, 52858, 55276, 57695, 60113, 62532, 64949, 67369, 69786, 72205, 74623, 77042, 79460, 81878, 84296,
             86715, 89133, 91552, 93970, 96389, 98806, 101225, 103643, 106062, 108480, 110899, 113317, 115735, 118153, 120572, 122990, 125409, 127826, 130246, 132663, 135082, 137499, 139919, 142338]
    hit1 = 1

    是否有护石 = 1

    def 装备护石(self, char):
        self.hit0 = 6
        self.power0 = 1.64
        self.power1 = 1.75


class 技能16(被动技能):
    名称 = '冷酷杀意'
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.22 + 0.02 * self.等级, 5)


class 技能17(主动技能):
    名称 = "毁灭狂欢"
    所在等级 = 80
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 45
    MP = [600, 5000]
    无色消耗 = 5
    data0 = [0, 6639, 7313, 7986, 8661, 9334, 10007, 10682, 11355, 12030, 12703, 13376, 14050, 14724, 15397, 16071, 16744, 17418, 18092, 18765, 19439, 20112, 20786, 21460, 22133, 22807,
             23480, 24156, 24829, 25502, 26176, 26849, 27523, 28197, 28870, 29544, 30217, 30891, 31565, 32238, 32912, 33585, 34259, 34933, 35606, 36279, 36955, 37628, 38302, 38975, 39648]
    hit0 = 11
    data1 = [0, 12889, 14197, 15505, 16813, 18120, 19427, 20735, 22043, 23351, 24659, 25967, 27274, 28581, 29889, 31196, 32504, 33813, 35120, 36428, 37736, 39042, 40350, 41658, 42966,
             44273, 45581, 46890, 48197, 49504, 50812, 52120, 53427, 54735, 56043, 57350, 58657, 59966, 61273, 62581, 63889, 65197, 66504, 67812, 69119, 70426, 71734, 73043, 74351, 75658, 76966]
    hit1 = 1

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.33


class 技能18(主动技能):
    名称 = "月相天陨"
    所在等级 = 85
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 180
    MP = [2500, 5000]
    无色消耗 = 10
    data0 = [0, 5423, 6681, 7939, 9197, 10454, 11713, 12970, 14229, 15485, 16743, 18000, 19259, 20516, 21775, 23032, 24290, 25548, 26806, 28062, 29321, 30578, 31836, 33094, 34352, 35609,
             36868, 38126, 39383, 40642, 41898, 43155, 44414, 45672, 46929, 48188, 49445, 50703, 51961, 53219, 54476, 55734, 56991, 58249, 59507, 60765, 62022, 63281, 64538, 65797, 67054]
    hit0 = 21
    data1 = [0, 61333, 75556, 89779, 104001, 118223, 132444, 146667, 160889, 175111, 189334, 203556, 217779, 232002, 246224, 260446, 274668, 288891, 303113, 317335, 331558, 345780, 360003, 374224, 388447, 402669,
             416891, 431114, 445336, 459558, 473780, 488003, 502226, 516448, 530671, 544893, 559115, 573338, 587560, 601781, 616003, 630226, 644449, 658671, 672894, 687116, 701338, 715560, 729783, 744005, 758227]
    hit1 = 1


class 技能19(主动技能):
    名称 = "夜影迷踪"
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 60
    MP = [960, 7200]
    无色消耗 = 7
    data0 = [0, 44059, 48528, 52998, 57468, 61937, 66408, 70877, 75346, 79817, 84286, 88755, 93227, 97696, 102166, 106635, 111105, 115575, 120044, 124514, 128984, 133453, 137925, 142394, 146863, 151333,
             155803, 160272, 164742, 169212, 173682, 178151, 182620, 187092, 191561, 196030, 200501, 204970, 209440, 213910, 218379, 222849, 227319, 231789, 236259, 240728, 245199, 249668, 254137, 258608, 263077]
    hit0 = 1
    data1 = [0, 46996, 51764, 56532, 61300, 66067, 70835, 75602, 80370, 85137, 89906, 94673, 99441, 104208, 108976, 113743, 118513, 123280, 128048, 132815, 137583, 142352, 147119, 151887, 156654, 161422,
             166189, 170958, 175725, 180493, 185260, 190029, 194796, 199565, 204332, 209100, 213867, 218635, 223402, 228171, 232938, 237706, 242473, 247241, 252008, 256776, 261546, 266313, 271081, 275848, 280616]
    hit1 = 1
    data2 = [0, 55808, 61469, 67131, 72792, 78456, 84117, 89778, 95440, 101101, 106762, 112424, 118087, 123749, 129410, 135071, 140733, 146395, 152056, 157719, 163380, 169042, 174704, 180365, 186027, 191688,
             197351, 203012, 208674, 214336, 219997, 225658, 231320, 236981, 242645, 248306, 253967, 259629, 265290, 270953, 276614, 282276, 287938, 293599, 299262, 304923, 310584, 316246, 321908, 327569, 333232]
    hit2 = 1


class 技能20(被动技能):
    名称 = '无暇'
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能21(主动技能):
    名称 = "月夜：终极行动"
    所在等级 = 100
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 290
    MP = [4028, 8056]
    无色消耗 = 15
    data0 = [0, 32411, 39928, 47443, 54960, 62474, 69989, 77506, 85021, 92538, 100054, 107570, 115086, 122601, 130116, 137633, 145148, 152665, 160180, 167697, 175211, 182727, 190243, 197759, 205275, 212791,
             220307, 227823, 235338, 242854, 250370, 257886, 265402, 272918, 280434, 287949, 295464, 302981, 310496, 318013, 325528, 333045, 340559, 348076, 355591, 363108, 370623, 378140, 385655, 393172, 400686]
    hit0 = 11
    data1 = [0, 152799, 188230, 223662, 259094, 294525, 329958, 365389, 400820, 436253, 471684, 507116, 542549, 577979, 613411, 648842, 684275, 719707, 755137, 790570, 826001, 861433, 896864, 932296, 967728, 1003160, 1038592,
             1074022, 1109455, 1144887, 1180318, 1215751, 1251182, 1286613, 1322046, 1357477, 1392909, 1428341, 1463772, 1499204, 1534635, 1570068, 1605499, 1640930, 1676363, 1711794, 1747226, 1782658, 1818089, 1853521, 1888954]
    hit1 = 1


class classChange(Character):
    def __init__(self, equVersion=""):
        self.实际名称 = 'agent'
        self.名称 = '苍暮·特工'
        self.角色 = '枪剑士'

        self.职业 = '特工'
        self.武器选项 = ['小太刀']
        self.输出类型选项 = ['物理百分比']
        self.防具精通属性 = ['力量']
        self.类型 = '物理百分比'
        self.武器类型 = '小太刀'
        self.防具类型 = '皮甲'
        技能列表 = []
        技能序号 = {}
        i = 0
        while i >= 0:
            try:
                tem = eval('技能'+str(i)+'()')
                tem.基础等级计算()
                技能序号[tem.名称] = i
                技能列表.append(tem)
                i += 1
            except:
                i = -1
        self.技能栏 = 技能列表
        self.技能序号 = 技能序号
        self.buff = 2.00

        super().__init__(equVersion)

    def 伤害计算(self):
        data = super().伤害计算()
        if '锁定射击' in self.护石栏:
            skill_dict = data['skills']
            毁灭狂欢 = skill_dict.get("毁灭狂欢", {})
            锁定射击 = skill_dict.get("锁定射击", {})
            毁灭狂欢次数 = 毁灭狂欢.get("count", 0)
            锁定射击次数 = 锁定射击.get("count", 0)
            锁定射击伤害 = 锁定射击.get("damage", 0)
            if 锁定射击 != {}:
                data['skills']['锁定射击']['count'] += 毁灭狂欢次数/2
                data['skills']['锁定射击']['damage'] += 毁灭狂欢次数/2 * 锁定射击伤害/锁定射击次数
                data['total_data'] += 毁灭狂欢次数/2 * 锁定射击伤害/锁定射击次数
        dps = 0
        for temp in data['skills']:
            skill = data['skills'][temp]
            try:
                dps += (skill['damage']/skill['count'])/skill['cd']
            except:
                pass
        data['dps'] = dps
        return data
